package Persondata;

import java.util.List;

import org.apache.wicket.PageParameters;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.link.BookmarkablePageLink;
import org.apache.wicket.markup.html.list.ListItem;
import org.apache.wicket.markup.html.list.PropertyListView;
import org.hibernate.Session;

import db.HibernateHelper;

public class PersonWeb extends WebPage {

	public PersonWeb() {

		// add(new Link()); Link zur Klasse "NeuePerson" ist Autolink!! s.
		// HTML-Datei!
		
		// Alle Personen abfragen
		Session session = HibernateHelper.getSessionFactory().getCurrentSession();
		session.beginTransaction();
		@SuppressWarnings("unchecked")
		List<Person> result = session.createQuery("from Person").list();
		// session.getTransaction().commit();
		session.close();

		PropertyListView<Person> view = new PropertyListView<Person>(
				"personShow", result) {
			private static final long serialVersionUID = 1L;

			@Override
			protected void populateItem(ListItem<Person> item) {
				PageParameters params = new PageParameters();
				params.add("idInternal", Integer.toString(item.getModel().getObject().getIdInternal()));
				item.add(new BookmarkablePageLink<WebPage>("loeschen", PersonLoeschen.class, params));
				item.add(new BookmarkablePageLink<WebPage>("bearbeiten", PersonEdit.class, params));
				item.add(new Label("name"));
				item.add(new Label("vorname"));
				item.add(new Label("job"));
				item.add(new Label("age"));
			}

		};
		add(view);

		// Blendet das übergeordnete Enclosure (Tabelle, überschrift) aus, wenn
		// Ausgabe leer!
		view.setVisible(result.size() > 0 ? true : false);
	}
}
